home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / plain / contrib / nfss-plain / plainfsl.tex < prev    next >
Encoding:
Text File  |  1994-04-20  |  40.3 KB  |  1,080 lines

  1. %%
  2. %% This is file `plainfsl.tex' based mainly on `lfonts.new'.
  3. %% Changes have been made, but the original copyright and version
  4. %% information has been retained. Bug reports should be sent to
  5. %% WSULIVAN@IRLEARN.BITNET and not to the other authors.
  6. %%
  7. %% The original source files were:
  8. %%
  9. %% fam.doc
  10. %% tracefnt.doc
  11. %% setsize.doc
  12. %% latint.doc
  13. %% lfonts.doc
  14. %%
  15. %% Copyright (C) 1989,1990,1991 by Frank Mittelbach, Rainer Schoepf.
  16. %% All rights reserved.
  17. %%
  18. %% plainfsl.doc
  19. %% xxxlfont.doc
  20. %% Copyright 1991  W.G. Sullivan
  21. %%
  22. %%
  23. %%
  24. %%
  25. %% IMPORTANT NOTICE:
  26. %%
  27. %% You are not allowed to change this file. You may however copy this file
  28. %% to a file with a different name and then change the copy if you obey
  29. %% the restrictions on file changes described in readme.mz.
  30. %%
  31. %% You are allowed to distribute this file under the condition that it is
  32. %% distributed together with all files mentioned in readme.mz3. If you
  33. %% receive only some of these files from someone, complain!
  34. %%
  35. %% You are NOT ALLOWED to distribute this file alone. You are NOT ALLOWED
  36. %% to take money for the distribution or use of either this file or a
  37. %% changed version, except for a nominal charge for copying etc.
  38. %%
  39. %% For error reports in case of UNCHANGED versions see readme files.
  40. %%%% !!!THIS IS NOT AN UNCHANGED VERSION!!!
  41. %%
  42. %% Please do not request updates from us directly. Distribution is done
  43. %% through Mail-Servers and TeX organizations.
  44. %%
  45.  
  46.  
  47. \def\fileversion{0.01}
  48. \def\filedate{91/8/20}
  49. \def\docdate {91/8/20}
  50.  
  51. %% \CheckSum{125}
  52. %% \CharacterTable
  53. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  54. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  55. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  56. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  57. %%   Dollar        \$     Percent       \%     Ampersand     \&
  58. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  59. %%   Asterisk      \*     Plus          \+     Comma         \,
  60. %%   Minus         \-     Point         \.     Solidus       \/
  61. %%   Colon         \:     Semicolon     \;     Less than     \<
  62. %%   Equals        \=     Greater than  \>     Question mark \?
  63. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  64. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  65. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  66. %%   Right brace   \}     Tilde         \~}
  67. %%
  68. \let\protect\relax
  69. \def\makeatletter{\catcode`\@11 }
  70. \def\makeatother{\catcode`\@12 }
  71. \makeatletter
  72. \immediate\write\sixt@@n{File: `plainfsl'
  73.  \space\space\space\space\space\space\space\space
  74.  \space       \fileversion \space <\filedate>  (WGS)}
  75.  
  76. \long\def\@ifundefined#1#2#3{\expandafter\ifx\csname
  77.     #1\endcsname\relax#2\else#3\fi}
  78. \long\def\@ifdefinable#1#2{\relax\count@\escapechar\escapechar\m@ne
  79.     \edef\@tempa{\string#1}\escapechar\count@
  80.     \expandafter\@ifundefined\expandafter{\@tempa
  81.     }{#2}{\errmessage{\string#1 already defined}}}
  82. \def\typeout#1{{\let\protect\string\immediate\write\sixt@@n{#1}}}
  83. \def\@eha{Enter `?' for options.}
  84. \def\@latexerr#1#2{%
  85. \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}%
  86.    \errmessage{#1}}
  87. \def\mbox#1{\leavevmode\hbox{#1}}
  88. \edef\@ifnextchar#1#2#3{\let\noexpand\@tempc=#1\def\noexpand
  89.     \@tempa{#2}\def\noexpand\@tempb{#3}\noexpand\@peeknextch\space}
  90. \expandafter\def\expandafter\@peeknextch\space
  91.       {\futurelet\@tempd\@finifnextch}
  92. \expandafter\def\expandafter\@finifnextch
  93. \expandafter{\expandafter\ifx\space\@tempd\let\@tempd\@peeknextch\else
  94.     \ifx\@tempd\@tempc\let\@tempd\@tempa\else\let\@tempd\@tempb\fi\fi
  95.     \@tempd}
  96. \def\@ifstar#1#2{\@ifnextchar*{\def\@tempa*{#1}\@tempa}{#2}}
  97. \count18=3 % deallocate plain math alphabets=>\fam numbers
  98. \expandafter\let\csname cmex/m/n/10\endcsname=\tenex
  99.  
  100.  
  101. \def\fileversion{v1.3a}
  102. \def\filedate{91/11/27}
  103. \def\docdate {90/01/28}
  104.  
  105. %% \CheckSum{532}
  106. %% \CharacterTable
  107. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  108. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  109. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  110. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  111. %%   Dollar        \$     Percent       \%     Ampersand     \&
  112. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  113. %%   Asterisk      \*     Plus          \+     Comma         \,
  114. %%   Minus         \-     Point         \.     Solidus       \/
  115. %%   Colon         \:     Semicolon     \;     Less than     \<
  116. %%   Equals        \=     Greater than  \>     Question mark \?
  117. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  118. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  119. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  120. %%   Right brace   \}     Tilde         \~}
  121. \immediate\write\sixt@@n{File: `fam'
  122.  \space\space\space\space\space\space\space\space
  123.  \space       \fileversion \space <\filedate>  (FMi and RmS)}
  124. \immediate\write\sixt@@n{English Documentation
  125.  \space\space\space\space\space    <\docdate>  (FMi and RmS)}
  126. \def\@spaces{\space\space\space\space}
  127. \def\@gobble#1{}
  128. \def\@empty{}
  129. \def\@height{height}
  130. \def\@depth{depth}
  131. \def\@width{width}
  132. \def\@nomath#1{\relax\ifmmode \font@warning{Don't use \string#1 in
  133.                                            math mode}\fi}
  134. \def\no@alphabet@error#1#2{\relax \ifmmode
  135.     \errhelp\no@alphabet@help
  136.     \errmessage{Math alphabet identifier \string#2 is undefined
  137.                 in math version `#1'.} \fi}
  138. \newhelp\no@alphabet@help
  139.    {Your requested math alphabet is undefined in the current
  140.     math version.^^JCheck the spelling or use the
  141.     \string\addtoversion\space command.}
  142. \def\new@mathgroup{\alloc@8\mathgroup\chardef\sixt@@n}
  143. \let\mathgroup\fam
  144. \let\newfam\new@mathgroup
  145. \def\new@fontshape#1#2#3#4#5{\expandafter
  146.      \edef\csname#1/#2/#3\endcsname{\expandafter\noexpand
  147.                                  \csname #4\endcsname}}
  148. \def\subst@fontshape#1#2#3#4#5#6{\expandafter
  149.      \def\csname#1/#2/#3\endcsname{%
  150.        \font@warning{Font/shape `#1/#2/#3' not available}%
  151.        \font@warning{Substituting `#4/#5/#6' instead}%
  152.        \global\expandafter\let
  153.          \csname#1/#2/#3\expandafter\endcsname
  154.          \csname#4/#5/#6\endcsname}}
  155. \def\extra@def#1#2#3{%
  156.      \def\@tempa##1{#2}%
  157.      \ifx \@tempa\@gobble
  158.        \expandafter\let\csname +#1\endcsname\@gobble
  159.      \else \expandafter\def\csname +#1\endcsname##1{#2}\fi
  160.         \expandafter\def\csname =#1\endcsname{\default@mextra#3}%
  161. }
  162. \let\default@mextra\@empty
  163. \def\preload@sizes#1#2#3#4{{
  164.     \def\next##1,{%
  165.         \if>##1>%
  166.           \let\next\relax
  167.         \else
  168.           \xdef\font@name{\csname#1/#2/#3/##1\endcsname}%
  169.           \pickup@font
  170.           \global\expandafter\let\font@name\relax
  171.         \fi
  172.         \next}%
  173.      \next#4,,}}
  174. \newif\ifdefine@mathfonts \define@mathfontstrue
  175. \def\define@mathsizes#1#2#3{\expandafter \def
  176.     \csname S@#1\endcsname{\gdef\sf@size{#2}\gdef\ssf@size{#3}%
  177.                            \define@mathfontstrue}}
  178. \def\define@nomathsize#1{\expandafter \let
  179.     \csname S@#1\endcsname \define@mathfontsfalse}
  180. \def\fontfamily#1{\edef\f@family{#1}}
  181. \def\fontseries#1{\edef\f@series{#1}}
  182. \def\fontshape#1{\edef\f@shape{#1}}
  183. \let\family=\fontfamily
  184. \let\series=\fontseries
  185. \let\shape=\fontshape
  186. \def\fontsize#1#2{%
  187.     \edef\f@size{#1}%
  188.     \edef\setnew@baselineskip{\baselineskip #2\relax}%
  189.     \edef\lcl@currsize{#1#2}}
  190. \let\size=\fontsize
  191. \def\mathversion#1{\@nomath\mathversion
  192.           \expandafter\ifx\csname mv@#1\endcsname\relax
  193.           \font@warning{The requested version `#1' is unknown}\else
  194.           \edef\math@version{#1}\glb@settings\aftergroup\glb@settings
  195.           \fi}
  196. \def\pickup@font{%
  197.     \expandafter \ifx \font@name \relax
  198.        \define@newfont
  199.     \fi}
  200. {\catcode`\/=12
  201. \gdef\split@name#1/#2/#3/#4\@nil{\def\f@family{#1}%
  202.                                     \def\f@series{#2}%
  203.                                     \def\f@shape{#3}%
  204.                                     \def\f@size{#4}}}
  205. \def\define@newfont{%
  206.   \begingroup
  207.     \escapechar\m@ne
  208.     \expandafter\expandafter\expandafter
  209.        \split@name\expandafter\string\font@name\@nil
  210.     \expandafter\ifx
  211.         \csname\f@family/\f@series/\f@shape\endcsname \relax
  212.       \wrong@fontshape\else
  213.       \csname\f@family/\f@series/\f@shape\endcsname
  214.       \extract@font\fi
  215.   \endgroup}
  216. \def\wrong@fontshape{%
  217.     \edef\@tempa{\csname\f@family/\f@series/\f@shape\endcsname}%
  218.     \font@warning{Font/shape `\@tempa' undefined}%
  219.     \let\f@shape\default@shape
  220.     \expandafter\ifx\csname\f@family/\f@series/\f@shape\endcsname\relax
  221.        \let\f@series\default@series
  222.         \expandafter
  223.           \ifx\csname\f@family/\f@series/\f@shape\endcsname\relax
  224.            \let\f@family\default@family
  225.         \fi \fi
  226.     \font@warning{Using `\f@family/\f@series/\f@shape' instead}%
  227.     \global\expandafter\expandafter\expandafter\let\expandafter\@tempa
  228.            \csname\f@family/\f@series/\f@shape\endcsname
  229.     \xdef\font@name{%
  230.       \csname\f@family/\f@series/\f@shape/\f@size\endcsname}%
  231.     \pickup@font}
  232. \def\strip@prefix#1>{}
  233. \newhelp\nofont@help
  234.         {You requested a family/series/shape/size combination that is
  235.          totally^^Junknown. \space
  236.          There are two cases in which this error can occur:^^J\space
  237.          \space 1) You used the \string\fontsize\space macro to select
  238.                    a size that is not available.^^J\space
  239.          \space 2) If you did not do that, go to your local `wizard'
  240.                    and^^J \@spaces complain fiercely that the font
  241.                    selection tables are corrupted!^^J}
  242. \def\addstuffto@version#1#2{%
  243.     \ifx#1\undefined
  244.            \toks@{}%
  245.          \else
  246.            \toks@\expandafter{#1}%
  247.          \fi
  248.     \xdef#1{%
  249.             \the\toks@
  250.              #2}%
  251.     \gdef\glb@currsize{}}
  252. \def\define@mathalphabet#1#2#3#4#5#6{%
  253.     \def\@tempa{#6}%
  254.     \addstuffto@version#1{%
  255.              \gdef\noexpand#2%
  256.              \ifx\@tempa\@empty
  257.                 {\noexpand\no@alphabet@error
  258.                  \noexpand\math@version
  259.                  \noexpand#2}%
  260.              \else
  261.                 {\noexpand\select@group
  262.                  \noexpand#2#3%
  263.                  \expandafter\noexpand\csname =#4\endcsname
  264.                  \expandafter\noexpand\csname #4/#5/#6\endcsname}%
  265.              \fi}}
  266. \def\define@mathgroup#1#2#3#4#5{%
  267.          \addstuffto@version#1{%
  268.              \noexpand\getanddefine@fonts#2%
  269.              \expandafter\noexpand\csname #3/#4/#5\endcsname}}
  270. \def\select@group#1#2#3#4{\relax\ifmmode
  271.   \begingroup
  272.     \let\math@fonts\@empty  \escapechar\m@ne
  273.     \getanddefine@fonts#2#4%
  274.     \globaldefs\@ne  \math@fonts
  275.   \endgroup
  276.   \gdef#1{\use@mathgroup#3{#2}}%
  277. \expandafter #1\fi}
  278. \let\math@bgroup\begingroup
  279. \def\math@egroup#1{#1\endgroup}
  280. \def\glb@settings{\begingroup
  281.     \let\math@fonts\@empty
  282.     \ifmath@fonts
  283.      \csname S@\f@size\endcsname
  284.       \ifdefine@mathfonts
  285.         \escapechar\m@ne
  286.         \csname mv@\math@version \endcsname \fi
  287.     \fi
  288.     \globaldefs\@ne
  289.     \math@fonts
  290.     \let \glb@currsize \lcl@currsize
  291.   \endgroup}
  292. \newif\ifmath@fonts
  293. \math@fontstrue
  294. \def\default@fontshape{\fontfamily\default@family
  295.   \fontseries\default@series\fontshape\default@shape}
  296. \def\showhyphens#1{\setbox0\vbox{\parfillskip\z@skip\hsize\maxdimen
  297.   \default@fontshape\selectfont
  298.   \pretolerance\m@ne\tolerance\m@ne\hbadness\z@\showboxdepth\z@\ #1}}
  299. \def\addto@hook#1#2{#1\expandafter{\the#1#2}}
  300. \ifx\inputlineno\undefined
  301.   \let\on@line\@empty
  302. \else
  303.   \ifnum\inputlineno=\m@ne
  304.     \let\on@line\@empty
  305.   \else
  306.     \def\on@line{ on input line \the\inputlineno}
  307.   \fi
  308. \fi
  309.  
  310. \def\fileversion{v1.0r}
  311. \def\filedate{90/08/27}
  312. \def\docdate {90/04/05}
  313.  
  314. %% \CheckSum{336}
  315. %% \CharacterTable
  316. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  317. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  318. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  319. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  320. %%   Dollar        \$     Percent       \%     Ampersand     \&
  321. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  322. %%   Asterisk      \*     Plus          \+     Comma         \,
  323. %%   Minus         \-     Point         \.     Solidus       \/
  324. %%   Colon         \:     Semicolon     \;     Less than     \<
  325. %%   Equals        \=     Greater than  \>     Question mark \?
  326. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  327. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  328. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  329. %%   Right brace   \}     Tilde         \~}
  330. %%
  331.  \immediate\write\sixt@@n{File: `tracefnt' \@spaces
  332.  \fileversion\space <\filedate>  (FMi and RmS)}
  333. \immediate\write\sixt@@n{English Documentation
  334.  \@spaces\space  <\docdate>  (FMi and RmS)}
  335. \def\extract@font{%
  336.     \def\@tempa{\def\extract@fontinfo####1}%
  337.     \edef\@tempb{<\expandafter\strip@prefix\meaning\f@size>}%
  338.     \expandafter\@tempa\@tempb##2##3<##4\@nil{%
  339.       \global\expandafter\font \font@name
  340.            \ifcase0##2##3\relax\or
  341.                    ##3
  342.                     \font@warning{Font/shape
  343.                               `\f@family/\f@series/\f@shape'
  344.                               in size \@tempb\space  not available}%
  345.                     \font@warning{Using external font `##3'
  346.                                     instead}\else
  347.                   \default@errfont \errhelp\nofont@help
  348.                          \errmessage{Font \expandafter
  349.                                     \string\font@name\space
  350.                                     not found}%
  351.                \fi
  352.               }%
  353.     \edef\font@info{\expandafter\expandafter\expandafter\string
  354.         \csname \f@family/\f@series/\f@shape \endcsname\@tempb}%
  355.     \expandafter\extract@fontinfo\font@info 3<\@nil
  356.     \csname +\f@family \expandafter
  357.        \endcsname \font@name \relax}
  358.  
  359. \def\selectfont{%
  360.     \xdef\font@name{%
  361.       \csname\f@family/\f@series/\f@shape/\f@size\endcsname}%
  362.     \pickup@font
  363.     \font@name
  364.     \ifx \glb@currsize \lcl@currsize
  365.      \else
  366.     \setnew@baselineskip
  367.     \baselineskip\baselinestretch\baselineskip
  368.     \setbox\strutbox\hbox{\vrule\@height.7\baselineskip
  369.         \@depth.3\baselineskip \@width\z@}%
  370.     \normalbaselineskip\baselineskip
  371.      \glb@settings \the\every@size
  372.        \aftergroup\glb@settings \fi
  373.     }
  374. \def\baselinestretch{1}
  375. \newtoks\every@size
  376. \every@size={}
  377. \def\use@mathgroup#1#2{\relax\ifmmode
  378.      \math@bgroup
  379.          #1\mathgroup#2\relax
  380.      \expandafter\math@egroup\fi}%
  381. \def\getanddefine@fonts#1#2{%
  382.   \xdef\font@name{\csname \string#2/\f@size\endcsname}%
  383.   \pickup@font \let\textfont@name\font@name
  384.   \xdef\font@name{\csname \string#2/\sf@size\endcsname}%
  385.   \pickup@font \let\scriptfont@name\font@name
  386.   \xdef\font@name{\csname \string#2/\ssf@size\endcsname}%
  387.   \pickup@font
  388.   \edef\math@fonts{\math@fonts
  389.                \textfont#1\textfont@name
  390.                \scriptfont#1\scriptfont@name
  391.                \scriptscriptfont#1\font@name}%
  392.     }
  393. \def\tracingfonts{\font@warning{\string\tracingfonts\space
  394.                   command not provided.^^J
  395.                   Use `tracefnt' option in \string\documentstyle\space
  396.                   command.^^J Command found:}%
  397.                   \count@}
  398. \def\font@warning#1{%
  399.           \immediate\write\sixt@@n{Warning: #1\on@line.}%
  400.           }
  401.  
  402. \def\fileversion{v1.1c}
  403. \def\filedate{90/06/06}
  404. \def\docdate {90/06/06}
  405.  
  406. %% \CheckSum{57}
  407. %% \CharacterTable
  408. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  409. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  410. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  411. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  412. %%   Dollar        \$     Percent       \%     Ampersand     \&
  413. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  414. %%   Asterisk      \*     Plus          \+     Comma         \,
  415. %%   Minus         \-     Point         \.     Solidus       \/
  416. %%   Colon         \:     Semicolon     \;     Less than     \<
  417. %%   Equals        \=     Greater than  \>     Question mark \?
  418. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  419. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  420. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  421. %%   Right brace   \}     Tilde         \~}
  422. %% File `setsize.doc'.
  423. %% Copyright (C) 1989,1990,1991 Frank Mittelbach and Rainer Sch\"opf,
  424. %% all rights reserved.
  425. \immediate\write\sixt@@n{File: `setsize' \space
  426.  \@spaces \fileversion \space <\filedate> (FMi and RmS)}
  427. \immediate\write\sixt@@n{English Documentation
  428.       \space \@spaces <\docdate> (FMi and RmS)}
  429.  \def\normalsize{\@normalsize}
  430.  \def\@vpt{5}
  431.  \def\@vipt{6}
  432.  \def\@viipt{7}
  433.  \def\@viiipt{8}
  434.  \def\@ixpt{9}
  435.  \def\@xpt{10}
  436.  \def\@xipt{11}
  437.  \def\@xiipt{12}
  438.  \def\@xivpt{14}
  439.  \def\@xviipt{17}
  440.  \def\@xxpt{20}
  441.  \def\@xxvpt{25}
  442.  \define@mathsizes{5}{5}{5}
  443.  \define@mathsizes{6}{5}{5}
  444.  \define@mathsizes{7}{6}{5}
  445.  \define@mathsizes{8}{6}{5}
  446.  \define@mathsizes{9}{6}{5}
  447.  \define@mathsizes{10}{7}{5}
  448.  \define@mathsizes{11}{7}{5}
  449.  \define@mathsizes{12}{8}{6}
  450. \define@mathsizes{14}{10}{7}
  451. \define@mathsizes{17}{12}{10}
  452. \define@mathsizes{20}{14}{12}
  453.  \define@mathsizes{25}{20}{17}
  454. \def\fileversion{v1.1h}
  455. \def\filedate{90/06/26}
  456. \def\docdate {90/06/26}
  457.  
  458. %% \CheckSum{304}
  459. %% \CharacterTable
  460. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  461. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  462. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  463. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  464. %%   Dollar        \$     Percent       \%     Ampersand     \&
  465. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  466. %%   Asterisk      \*     Plus          \+     Comma         \,
  467. %%   Minus         \-     Point         \.     Solidus       \/
  468. %%   Colon         \:     Semicolon     \;     Less than     \<
  469. %%   Equals        \=     Greater than  \>     Question mark \?
  470. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  471. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  472. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  473. %%   Right brace   \}     Tilde         \~}
  474. %% \changes{v1.1f}{90/04/05}{`endinput at the end removed.}
  475. \immediate\write\sixt@@n{File: `latint' \space\space
  476.  \@spaces\fileversion\space <\filedate>  (FMi and RmS)}
  477. \immediate\write\sixt@@n{English Documentation
  478.  \@spaces\space <\docdate>  (FMi and RmS)}
  479. \newif\if@tempswa
  480. \def\in@#1#2{%
  481.  \def\in@@##1#1##2##3\in@@{%
  482.   \ifx\in@##2\in@false\else\in@true\fi}%
  483.  \in@@#2#1\in@\in@@}
  484. \newif\ifin@
  485. \let\version@list=\@empty
  486. \def\@gobblefour#1#2#3#4{}
  487. \def\new@mathversion#1{%
  488. %% \changes{v1.1c}{89/11/27}{`versionlist enclosed in braces.}
  489.   \expandafter\in@\expandafter#1\expandafter{\version@list}%
  490.   \ifin@
  491.     \@latexerr{Math version
  492.                `\expandafter\@gobblefour\string#1'
  493.                already defined}\@eha
  494.   \else
  495.      \def\@tempa{\noexpand\@tempa\noexpand}%
  496.      \edef\version@list{\version@list\@tempa#1}%
  497.      \def\@tempc{\noexpand\@tempc\noexpand}%
  498.      \let\@tempe\relax
  499.      \def\@tempb##1##2##3{%
  500.           \edef##1{\expandafter\remove@nil##1%
  501.                    \@tempc
  502.                    #1%
  503.                    \@tempe
  504.                    \noexpand\@nil}}%
  505.      \alpha@list
  506.   \fi}
  507. \def\remove@nil#1#2\@nil{%
  508.   \noexpand#1\noexpand#2}
  509. \def\newmathalphabet{%
  510.   \@ifstar{\newmathalphabet@@@}%
  511.           {\newmathalphabet@@}}
  512. \def\newmathalphabet@@#1{%
  513.   \newmathalphabet@@@#1{}{}{}}
  514. \def\newmathalphabet@@@#1#2#3#4{%
  515.  \edef\group@number{\expandafter
  516.   \noexpand\csname\expandafter\@gobble
  517.   \string #1@group\endcsname}%
  518.    \expandafter\ifx\group@number\relax
  519.      \@tempswafalse
  520.      \ifx\undefined#1\else\@tempswatrue\fi
  521.    \else
  522.      \@tempswatrue
  523.    \fi
  524.    \if@tempswa
  525.      \@latexerr{Math alphabet
  526.                 `\string#1' already defined}\@eha
  527.    \else
  528.    \expandafter\new@mathgroup\group@number
  529.    \new@internalmathalphabet{#1}%
  530.       {\group@number}{#2}{#3}{#4}%
  531.   \fi}
  532. \let\alpha@list\@empty
  533. %% \changes{v1.1h}{90/06/26}{Macro added.}
  534. \let\used@alpha@list\@empty
  535. \def\new@internalmathalphabet#1#2#3#4#5{%
  536.     \def\@tempb{\noexpand\@tempb\noexpand}%
  537.     \edef\alpha@list{\alpha@list\@tempb#1%
  538.                               {#2}%
  539.                               {{#3}{#4}{#5}}}%
  540.     \let\@tempe\relax
  541.     \let\@tempc\relax
  542.     \def\@tempa##1{\@tempc
  543.                    \noexpand##1%
  544.                    \@tempe}%
  545.     \edef#1{\noexpand\set@alpha
  546.             \noexpand#1%
  547.             \version@list
  548.             \noexpand\@nil}%
  549. }
  550. \def\addtoversion#1{%
  551.   \expandafter\addtoversion@
  552.     \csname mv@#1\endcsname}
  553. \def\addtoversion@#1#2#3#4#5{%
  554. %% \changes{v1.1c}{89/11/27}{`versionlist and `alphalist enclosed
  555. %%          in braces.}
  556.   \expandafter\in@\expandafter#1\expandafter{\version@list}%
  557.   \ifin@
  558.     \expandafter\in@\expandafter#2\expandafter{\alpha@list}%
  559.     \ifin@
  560.       \def\next##1#1##2##3\@nil{%
  561.         \ifx##2\@tempe
  562.           \def#2{##1#1{{#3}{#4}{#5}}##3\@nil}%
  563.         \else
  564.           \@latexerr{%
  565.              Math alphabet identifier `\string#2' already
  566.              defined for math version `\expandafter
  567.              \@gobblefour\string#1'}%
  568.              {Maybe you typed the same command twice?}%
  569.         \fi}%
  570.      \expandafter\next#2%
  571. %% \changes{v1.1h}{90/06/26}{Extra check and error message for
  572. %%                           already used math alphabet identifiers.}
  573.     \else
  574.       \expandafter\in@\expandafter#2\expandafter{\used@alpha@list}%
  575.       \ifin@
  576.         \@latexerr{%
  577.            Math alphabet identifier `\string#2' already used
  578.            to produce text}%
  579.            {A math alphabet identifier can only be added to a
  580.             math version^^Jbefore its first use in math.^^J%
  581.             Remedy: Move this \string\addtoversion
  582.             \space declaration up.}%
  583.       \else
  584.         \@latexerr{%
  585.            Math alphabet identifier `\string#2' not defined}%
  586.            {Use \string\newmathalphabet\space to define it.}%
  587.       \fi
  588.     \fi
  589.   \else
  590.     \@latexerr{%
  591.        Math version `\expandafter\@gobblefour\string#1' is not
  592.        defined}{You probably mispelled the name of the math
  593.        version.^^JOr you have to specify another document
  594.        style option^^Jin the \string\documentstyle\space
  595.        command.}%
  596.   \fi
  597. }
  598. \def\process@table{%
  599.     \def\@tempc{\noexpand\@tempc\noexpand}%
  600.     \def\@tempb##1##2##3{\def\@tempe{{##3}}%
  601.                          \edef##1{##1}}%
  602.     \let\set@alpha\@gobble
  603.     \let\@nil\@empty
  604.     \alpha@list
  605. %% \changes{v1.1f}{90/01/18}{Changed to set math all alphabet
  606. %%           identifiers to `relax.}
  607.     \def\@tempb##1##2##3{%
  608.       \def\@tempc####1####2{%
  609.         \define@mathalphabet####1##1##2####2}%
  610.       ##1%
  611.       \let ##1\relax}%
  612. %% \changes{v1.1h}{90/06/26}{Added clearing of `used@alpha@list.}
  613.     \alpha@list
  614.     \let\used@alpha@list\@empty}
  615. %% \changes{v1.1e}{89/12/16}{Completely revised.}
  616. \def\set@alpha#1#2\@nil{%
  617.    \relax\ifmmode
  618. %% \changes{v1.1h}{90/06/26}{Added updating of `used@alpha@list.}
  619.    \expandafter\gdef\expandafter\used@alpha@list\expandafter
  620.      {\used@alpha@list#1}%
  621.    \def\next##1\@tempb#1##2##3##4\@nil{%
  622.        \def\@tempd{##2}%
  623.        \def\@tempe{{##3}}%
  624.        \gdef\alpha@list{##1##4}}%
  625.    \expandafter\next\alpha@list\@nil
  626.    \begingroup
  627.     \def\@tempc{\noexpand\@tempc\noexpand}%
  628.     \let\set@alpha\@gobble
  629.     \let\@nil\@empty
  630.     \xdef#1{#1}%
  631.    \endgroup
  632.    \def\@tempc##1##2{%
  633.           \define@mathalphabet##1#1\@tempd##2}%
  634. %% \changes{v1.1e}{89/12/16}{Argument \#1 called twice in the end.}
  635.    #1%
  636.    \glb@settings
  637.    \expandafter #1\fi}
  638. \def\fileversion{v1.2a}
  639. \def\filedate{91/11/27}
  640. \def\docdate {91/11/27}
  641.  
  642. %% \CheckSum{840}
  643. %% \CharacterTable
  644. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  645. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  646. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  647. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  648. %%   Dollar        \$     Percent       \%     Ampersand     \&
  649. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  650. %%   Asterisk      \*     Plus          \+     Comma         \,
  651. %%   Minus         \-     Point         \.     Solidus       \/
  652. %%   Colon         \:     Semicolon     \;     Less than     \<
  653. %%   Equals        \=     Greater than  \>     Question mark \?
  654. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  655. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  656. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  657. %%   Right brace   \}     Tilde         \~}
  658. %% File `lfonts.doc'.
  659. %% Copyright (C) 1989,1990,1991 Frank Mittelbach and Rainer Sch\"opf,
  660. %% all rights reserved.
  661. %% \changes{v1.2a}{91/11/27}{All `family, `shape etc. renamed to
  662. %%                          `fontfamily etc.}
  663. %% \changes{v1.1i}{90/04/02}{`input of files now handled by docstrip.}
  664. %% \changes{v1.1g}{90/02/08}{Protected the commands `family, `series,
  665. %% \changes{v1.1c}{89/12/03}{Some internal macros renamed to make them
  666. %%           inaccessible.}
  667. %% \changes{v1.1b}{89/12/02}{`rmmath renamed to `mathrm}
  668. %% \changes{v1.0i}{89/11/07}{All family, series, and shape names
  669. %% \changes{v1.0g}{89/05/22}{Lines shortened to 72 characters}
  670. %% \changes{v1.0f}{89/04/29}{Corrections to \LaTeX tabular env. added.}
  671. %% \changes{v1.0e}{89/04/27}{Definitions of \LaTeX symbols corrected.}
  672. %% \changes{v1.0d}{89/04/26}{`xpt added.}
  673. %% \changes{v1.0c}{89/04/21}{Changed to conform to fam.tex.}
  674. %% \changes{v1.0b}{89/04/15}{`mathfontset renamed to `mathversion.}
  675. %% \changes{v1.0a}{89/04/10}{Starting with version numbers!
  676. %%           `newif for `@tempswa added since this switch is
  677. %%           unkown at the time when this file is read in.
  678. %%           (latex.tex is loaded later.)
  679. %%           `math@famname changed to `math@version.}
  680. \immediate\write\sixt@@n{File: `lfonts' \space\space
  681.  \@spaces\fileversion\space <\filedate> (FMi and RmS)}
  682. \immediate\write\sixt@@n{English Documentation
  683.              \@spaces\space  <\docdate> (FMi and RmS)}
  684. \input fontdef.tex
  685. %%\input preload.tex % !!! lfonts.new change: no preloads needed.
  686. %% \changes{v1.1g}{90/02/08}{Macro added.}
  687. \let\p@fontfamily=\fontfamily
  688. \def\fontfamily{\protect\p@fontfamily}
  689. \let\family=\fontfamily
  690. %% \changes{v1.1g}{90/02/08}{Macro added.}
  691. \let\p@fontseries=\fontseries
  692. \def\fontseries{\protect\p@fontseries}
  693. \let\series=\fontseries
  694. %% \changes{v1.1g}{90/02/08}{Macro added.}
  695. \let\p@fontshape=\fontshape
  696. \def\fontshape{\protect\p@fontshape}
  697. \let\shape=\fontshape
  698. %% \changes{v1.1g}{90/02/08}{Macro added.}
  699. \let\p@fontsize=\fontsize
  700. \def\fontsize{\protect\p@fontsize}
  701. \let\size=\fontsize
  702. %% \changes{v1.1g}{90/02/08}{Macro added.}
  703. \let\p@selectfont=\selectfont
  704. \def\selectfont{\protect\p@selectfont}
  705. %% \changes{v1.1g}{90/02/08}{Macro added.}
  706. \let\p@mathversion=\mathversion
  707. \def\mathversion{\protect\p@mathversion}
  708. \new@mathversion\mv@normal
  709. \new@mathversion\mv@bold
  710. %% \changes{v1.0k}{89/11/08}{Changed first argument according to
  711. %% \changes{v1.0l}{89/11/14}{Changes in naming of math  and \LaTeX{}
  712. \define@mathgroup\mv@normal{0}
  713.                  {cmr}{m}{n}
  714. \define@mathgroup\mv@normal{1}
  715.                  {cmm}{m}{it}
  716. \define@mathgroup\mv@normal{2}
  717.                  {cmsy}{m}{n}
  718.  
  719. \define@mathgroup\mv@bold{0}
  720.                  {cmr}{bx}{n}
  721. \define@mathgroup\mv@bold{1}
  722.                  {cmm}{b}{it}
  723. \define@mathgroup\mv@bold{2}
  724.                  {cmsy}{b}{n}
  725. \textfont 3 = \csname cmex/m/n/10\endcsname
  726. \scriptfont 3 = \csname cmex/m/n/10\endcsname
  727. \scriptscriptfont 3 = \csname cmex/m/n/10\endcsname
  728. \expandafter\let\expandafter\tenex \the\textfont 3
  729. %% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
  730. %% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
  731. %% \changes{v1.1e}{90/01/21}{Use new interface: `use@mathgroup.}
  732. %% \changes{v1.1b}{89/11/28}{`rmmath $\to$ `mathrm.}
  733. {\catcode`\= 11
  734. \gdef\mathrm{\use@mathgroup \=cmr \z@}
  735. \gdef\mit{\use@mathgroup \=cmm \@ne}
  736. \gdef\cal{\use@mathgroup \=cmsy \tw@}
  737. }
  738. \def\rm{\protect\prm}
  739. \def\sf{\protect\psf}
  740. \def\tt{\protect\ptt}
  741. \def\bf{\protect\pbf}
  742. \def\sl{\protect\psl}
  743. \def\sc{\protect\psc}
  744. \def\it{\protect\pit}
  745. %% \changes{v1.1f}{90/01/28}{Macro added.}
  746. %% \changes{v1.1f}{90/01/28}{Macro added.}
  747. %% \changes{v1.1f}{90/01/28}{Macro added.}
  748. %% \changes{v1.1f}{90/01/28}{Macro added.}
  749. %% \changes{v1.1f}{90/01/28}{Macro added.}
  750. %% \changes{v1.1f}{90/01/28}{Macro added.}
  751. %% \changes{v1.1f}{90/01/28}{Macro added.}
  752. %% \changes{v1.1h}{90/02/17}{Macro added.}
  753. %% \changes{v1.1h}{90/02/17}{Macro added.}
  754. \def\rmdefault{cmr}
  755. \def\sfdefault{cmss}
  756. \def\ttdefault{cmtt}
  757. \def\bfdefault{bx}
  758. \def\itdefault{it}
  759. \def\sldefault{sl}
  760. \def\scdefault{sc}
  761. \def\mediumseriesdefault{m}
  762. \def\normalshapedefault{n}
  763. %% \changes{v1.1e}{90/01/21}{Renamed to `mediumseries.}
  764. %% \changes{v1.0h}{89/08/15}{Introduced `normalshape and
  765. %% \changes{v1.1h}{90/02/17}{Now user default used.}
  766. \def\mediumseries{\protect\pmediumseries}
  767. \def\pmediumseries{\fontseries\mediumseriesdefault\selectfont}
  768. \def\normalshape{\protect\pnormalshape}
  769. \def\pnormalshape{\fontshape\normalshapedefault\selectfont}
  770. \def\boldmath{\@nomath\boldmath
  771.               \mathversion{bold}}
  772. \def\unboldmath{\@nomath\unboldmath
  773.                 \mathversion{normal}}
  774. \def\math@version{normal}
  775. \def\hexnumber@#1{\ifcase#1 \z@
  776.  \or \@ne \or \tw@ \or \thr@@
  777.  \or 4\or 5\or 6\or 7\or 8\or
  778.  9\or A\or B\or C\or D\or E\or F\fi}
  779. %% \changes{v1.1e}{90/01/25}{Macro added for math operators.}
  780. \def\operator@font{\mathgroup\z@}
  781. %% \changes{v1.1e}{90/01/25}{All math operators added and changed.}
  782. \def\log{\mathop{\operator@font log}\nolimits}
  783. \def\lg{\mathop{\operator@font lg}\nolimits}
  784. \def\ln{\mathop{\operator@font ln}\nolimits}
  785. \def\lim{\mathop{\operator@font lim}}
  786. \def\limsup{\mathop{\operator@font lim\,sup}}
  787. \def\liminf{\mathop{\operator@font lim\,inf}}
  788. \def\sin{\mathop{\operator@font sin}\nolimits}
  789. \def\arcsin{\mathop{\operator@font arcsin}\nolimits}
  790. \def\sinh{\mathop{\operator@font sinh}\nolimits}
  791. \def\cos{\mathop{\operator@font cos}\nolimits}
  792. \def\arccos{\mathop{\operator@font arccos}\nolimits}
  793. \def\cosh{\mathop{\operator@font cosh}\nolimits}
  794. \def\tan{\mathop{\operator@font tan}\nolimits}
  795. \def\arctan{\mathop{\operator@font arctan}\nolimits}
  796. \def\tanh{\mathop{\operator@font tanh}\nolimits}
  797. \def\cot{\mathop{\operator@font cot}\nolimits}
  798. \def\coth{\mathop{\operator@font coth}\nolimits}
  799. \def\sec{\mathop{\operator@font sec}\nolimits}
  800. \def\csc{\mathop{\operator@font csc}\nolimits}
  801. \def\max{\mathop{\operator@font max}}
  802. \def\min{\mathop{\operator@font min}}
  803. \def\sup{\mathop{\operator@font sup}}
  804. \def\inf{\mathop{\operator@font inf}}
  805. \def\arg{\mathop{\operator@font arg}\nolimits}
  806. \def\ker{\mathop{\operator@font ker}\nolimits}
  807. \def\dim{\mathop{\operator@font dim}\nolimits}
  808. \def\hom{\mathop{\operator@font hom}\nolimits}
  809. \def\det{\mathop{\operator@font det}}
  810. \def\exp{\mathop{\operator@font exp}\nolimits}
  811. \def\Pr{\mathop{\operator@font Pr}}
  812. \def\gcd{\mathop{\operator@font gcd}}
  813. \def\deg{\mathop{\operator@font deg}\nolimits}
  814.  
  815. \def\bmod{\mskip-\medmuskip\mkern5mu
  816.   \mathbin{\operator@font mod}\penalty900\mkern5mu\mskip-\medmuskip}
  817. \def\pmod#1{\allowbreak\mkern18mu({\operator@font mod}\,\,#1)}
  818. %% \changes{v1.1e}{90/01/25}{Completely redefined.}
  819. \def\${\protect\pdollar}
  820. \def\pdollar{\text{\ifdim \fontdimen\@ne\font >\z@
  821.               \sl \else \normalshape \fi\char`\$}}
  822. \def\pounds{{\protect\ppounds}}
  823. \def\ppounds{\text{\ifdim \fontdimen\@ne\font >\z@
  824.     \it \else \fontshape u\selectfont \fi \char'44}}
  825. %% \changes{v1.1e}{90/01/25}{Macro added.}
  826. %% \changes{v1.1k}{90/06/23}{Changed to `mbox.}
  827. \def\text{\mbox}
  828.  
  829. \def\copyright{{\protect\pcopyright}}
  830. \def\pcopyright{\ooalign{\hfil
  831.      \raise.07ex\hbox{\mediumseries\normalshape c}\hfil\crcr
  832.      \mathhexbox20D}}
  833. \def\fileversion{0.02}
  834. \def\filedate{91/12/12}
  835. \def\docdate {91/8/20}
  836. \immediate\write\sixt@@n{File: `xxxlfont'
  837.  \space\space\space\space\space\space\space\space
  838.  \space       \fileversion \space <\filedate>  (WGS)}
  839.  
  840. %% \CheckSum{122}
  841. %% \CharacterTable
  842. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  843. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  844. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  845. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  846. %%   Dollar        \$     Percent       \%     Ampersand     \&
  847. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  848. %%   Asterisk      \*     Plus          \+     Comma         \,
  849. %%   Minus         \-     Point         \.     Solidus       \/
  850. %%   Colon         \:     Semicolon     \;     Less than     \<
  851. %%   Equals        \=     Greater than  \>     Question mark \?
  852. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  853. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  854. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  855. %%   Right brace   \}     Tilde         \~}
  856. %%
  857.   \def\cases#1{\left\{\,\vcenter{%
  858.       \normalbaselines\m@th\ialign{%
  859.          $##\hfil$&\quad{##}\hfil\crcr
  860.          #1\crcr}}\right.}%
  861.    \def\reset@font{\protect\p@reset@font}
  862.    \def\p@reset@font{\fontfamily{\rmdefault}%
  863.                   \fontseries{\mediumseriesdefault}%
  864.                   \fontshape{\normalshapedefault}\selectfont}
  865.    \let\lyfam=\null  % comment out if LaTeX symbol fonts desired
  866.    \typeout{}
  867.    \typeout{Choose oldlfont.sty or basefont}
  868.    \typeout{}
  869.  \input yyylfont.sty
  870. \def\makemathchar#1#2#3#4{\count@=#2\relax
  871.     \multiply\count@\sixt@@n\setbox0\hbox
  872.     {$#3\global\advance\count@\mathgroup$}\multiply\count@\@cclvi
  873.      \advance\count@#4\relax\mathchardef#1=\count@}
  874. \let\savedefine@mathfonts=\define@mathfontstrue
  875. \def\stopdefmathfonts{\let\define@mathfontstrue\define@mathfontsfalse}
  876. \def\restoredefmathfonts{\let\define@mathfontstrue\savedefine@mathfonts}
  877.    \typeout{}
  878.    \typeout{Add extra material to the format here:}
  879.    \typeout{}
  880.  \input anyextra.xyz
  881.  \size{10}{12pt}\mathversion{normal}\rm
  882. \makeatother
  883. \tracingstats 1 % comment out if undesired
  884.   \dump
  885. %% EXTRA MATERIAL NOT IN THE FORMAT, BUT WHICH MAY BE OF INTEREST:
  886.   \def\sauterfontshape#1#2#3#4{%
  887.      \new@fontshape{#1}{#3}{#4}{%
  888.       <5>#25<6>#26<7>#27<8>#28<9>#29<10>#210<11>#211%
  889.       <12>#212<14>#214<17>#217<20>#220<25>#225}{}}%
  890. \def\ps@fs@#1#2#3#4{\new@fontshape{#1}{#2}{#3}{%
  891.       <5>#4 at5pt<6>#4 at6pt<7>#4 at7pt<8>#4 at8pt%
  892.       <9>#4 at9pt<10>#4 at10pt<11>#4 at11pt<12>#4 at12pt%
  893.       <14>#4 at14pt<17>#4 at17pt<20>#4 at20pt<25>#4 at25pt}{}}%
  894. \sauterfontshape{cmm}{cmmib}{b}{it}
  895. \def\postscriptfontdef#1#2#3#4#5#6#7#8#9{%
  896. \ps@fs@{#1}{m}{n}{#2}%
  897. \ps@fs@{#1}{m}{it}{#3}%
  898. \ps@fs@{#1}{bx}{n}{#4}%
  899. \ps@fs@{#1}{bx}{it}{#5}%
  900. \ps@fs@{#1}{m}{sc}{#6}%
  901. \ps@fs@{#1}{bx}{sc}{#7}%
  902. \ps@fs@{#1}{m}{sl}{#8}%
  903. \ps@fs@{#1}{bx}{sl}{#9}%
  904. \extra@def{#1}{}{}%
  905. \subst@fontshape{#1}{b}{sc}{#1}{bx}{sc}%
  906. \subst@fontshape{#1}{b}{sl}{#1}{bx}{sl}%
  907. \subst@fontshape{#1}{b}{n}{#1}{bx}{n}%
  908. \subst@fontshape{#1}{b}{it}{#1}{bx}{it}%
  909. %% Below the control sequence \short_name is defined to
  910. %% invoke the standard font of the family.
  911. \expandafter\gdef\csname p@#1\endcsname{\family{#1}\shape
  912.    \normalshapedefault\series\mediumseriesdefault
  913.    \selectfont}%
  914. \expandafter\xdef\csname #1\endcsname{\noexpand\protect
  915.    \expandafter\noexpand\csname p@#1\endcsname}%
  916. }%
  917. \endinput
  918.  
  919.  
  920. %%
  921. %%
  922. %%
  923. %% !!!! material omitted from lfonts.new
  924. %%
  925. \input xxxlfont.sty
  926. %%  \changes{v1.1n}{91/09/28}{Cleanup for new LaTeX version.}
  927. \newif\if@twocolumn
  928. \newif\if@filesw
  929. \newif\if@specialpage
  930. \newif \if@twoside
  931. \ifx\undefined\reset@font
  932. \errhelp{The LaTeX that you use was released before December 1, 91.^^J^^J%
  933.          At that time several changes have been introduced into
  934.          LaTeX and the standard^^Jstyles to support this version of
  935.          NFSS.^^J^^J%
  936.          NFSS will probably work with your version but you might
  937.          encounter problems^^Jin certain situations (most of them are
  938.          described in the `nfss.bug' file).^^J^^J%
  939.          Since the new LaTeX release also fix many bugs we suggest
  940.          that you upgrade^^Jas soon as possible.^^J^^J}
  941. \errmessage{Old LaTeX version! Type `h'}
  942. \def\xpt{{\def\do{\noexpand\do\noexpand}%
  943.    \xdef\@preamblecmds{\@preamblecmds
  944. %% \changes{v1.1j}{90/06/03}{Removed `xpt from `@preamblecmds}
  945. %% \changes{v1.1k}{90/06/23}{`addstuffto@version added to `preamblecmds.}
  946.               \do\addtoversion
  947.               \do\addtoversion@
  948.               \do\addstuffto@version
  949.               \do\define@mathalphabet
  950.               \do\define@mathgroup
  951.               \do\define@mathsizes
  952.               \do\define@nomathsize
  953.               \do\extra@def
  954.               \do\hexnumber@
  955.               \do\new@fontshape
  956.               \do\new@internalmathalphabet
  957.               \do\new@mathgroup
  958.               \do\new@mathversion
  959.               \do\newmathalphabet
  960.               \do\newmathalphabet@@
  961.               \do\newmathalphabet@@@
  962.               \do\preload@sizes
  963.               \do\process@table
  964.               \do\remove@nil
  965.               \do\set@alpha
  966.               \do\subst@fontshape
  967.               }}%
  968.    \def\@tabclassz{\ifcase \@lastchclass
  969.           \@acolampacol \or \@ampacol \or
  970.           \or \or \@addamp \or
  971.           \@acolampacol \or
  972.           \@firstampfalse \@acol \fi
  973.     \edef\@preamble{\@preamble{%
  974.       \ifcase \@chnum
  975.         \hfil\ignorespaces\@sharp\unskip\hfil
  976.        \or \ignorespaces\@sharp\unskip\hfil
  977.        \or \hfil\hskip\z@
  978.           \ignorespaces\@sharp\unskip\fi}}}%
  979.   \def\@ishortstack##1{\halign{\mb@l {####}%
  980.            \unskip\mb@r\cr ##1\crcr}\egroup}%
  981.   \def\cases##1{\left\{\,\vcenter{%
  982.       \normalbaselines\m@th\ialign{%
  983.          $####\hfil$&\quad{####}\hfil\crcr
  984.          ##1\crcr}}\right.}%
  985. \def\document{\endgroup
  986.   \@colht\textheight  \@colroom\textheight \vsize\textheight
  987.    \columnwidth\textwidth \@clubpenalty\clubpenalty
  988.    \if@twocolumn \advance\columnwidth -\columnsep
  989.       \divide\columnwidth\tw@ \hsize\columnwidth \@firstcolumntrue
  990.    \fi
  991.   \hsize\columnwidth \linewidth\hsize
  992.   \begingroup\@floatplacement\@dblfloatplacement
  993.    \makeatletter\let\@writefile\@gobbletwo
  994.    \@input{\jobname.aux}\endgroup
  995.   \if@filesw \immediate\openout\@mainaux=\jobname.aux
  996.     \immediate\write\@mainaux{\relax}\fi
  997.   \process@table
  998. %% \changes{v1.1l}{90/10/12}{Force `baselineskip initialisation.}
  999.   \let\glb@currsize\@empty
  1000.   \def\do####1{\let ####1\@notprerr}%
  1001.   \@preamblecmds
  1002.   \let\do\noexpand
  1003.   \@normalsize\everypar{}}%
  1004.   \def\@begintheorem##1##2{\trivlist
  1005.     \item[\hskip \labelsep{\bf ##1\ ##2}]\it}%
  1006.   \def\@opargbegintheorem##1##2##3{\trivlist
  1007.       \item[\hskip \labelsep{\bf ##1\ ##2\ (##3)}]\it}%
  1008. %% \changes{v1.1h}{90/02/17}{`@outputpage redefined.}
  1009.   \def\@outputpage{\begingroup %\catcode`\ =10
  1010.      \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii
  1011.     \if@specialpage
  1012.      \global\@specialpagefalse
  1013.           \csname ps@\@specialstyle\endcsname\fi
  1014.      \if@twoside
  1015.        \ifodd\count\z@ \let\@thehead\@oddhead \let\@thefoot\@oddfoot
  1016.             \let\@themargin\oddsidemargin
  1017.           \else \let\@thehead\@evenhead
  1018.           \let\@thefoot\@evenfoot \let\@themargin\evensidemargin
  1019.      \fi\fi
  1020.      \shipout\vbox{%
  1021.            \rm \mediumseries \normalshape
  1022.            \normalsize
  1023.            \baselineskip\z@ \lineskip\z@
  1024.            \let\par\@@par %% 15 Sep 87
  1025.            \vskip \topmargin \moveright\@themargin
  1026.            \vbox{\setbox\@tempboxa
  1027.                    \vbox to\headheight{\vfil \hbox to\textwidth
  1028.                                        {\let\label\@gobble \let\index\@gobble
  1029.                                          \@thehead}}%% 22 Feb 87
  1030.                  \dp\@tempboxa\z@
  1031.                  \box\@tempboxa
  1032.                  \vskip \headsep
  1033.                  \box\@outputbox
  1034.                  \baselineskip\footskip
  1035.                  \hbox to\textwidth{\let\label\@gobble
  1036.                            \let\index\@gobble  %% 22 Feb 87
  1037.                            \@thefoot}}}\global\@colht\textheight
  1038.            \endgroup\stepcounter{page}\let\firstmark\botmark}%
  1039. %% \changes{v1.1j}{90/06/03}{Redefined `xpt for letter.sty}
  1040.         \def\xpt{\fontsize{10}{12pt}\selectfont}}
  1041. \else
  1042. \def\xpt{{\def\do{\noexpand\do\noexpand}%
  1043.    \xdef\@preamblecmds{\@preamblecmds
  1044.               \do\addtoversion
  1045.               \do\addtoversion@
  1046.               \do\addstuffto@version
  1047.               \do\define@mathalphabet
  1048.               \do\define@mathgroup
  1049.               \do\define@mathsizes
  1050.               \do\define@nomathsize
  1051.               \do\extra@def
  1052.               \do\hexnumber@
  1053.               \do\new@fontshape
  1054.               \do\new@internalmathalphabet
  1055.               \do\new@mathgroup
  1056.               \do\new@mathversion
  1057.               \do\newmathalphabet
  1058.               \do\newmathalphabet@@
  1059.               \do\newmathalphabet@@@
  1060.               \do\preload@sizes
  1061.               \do\process@table
  1062.               \do\remove@nil
  1063.               \do\set@alpha
  1064.               \do\subst@fontshape
  1065.               }}}
  1066. \fi
  1067. %% \changes{v1.1n}{91/08/26}{Macro introduced.}
  1068. %% \changes{v1.1o}{91/11/21}{Changed to protected version of macro.}
  1069. %% \changes{v1.1o}{91/11/21}{Added extra braces for robustness.}
  1070. \def\reset@font{\protect\p@reset@font}
  1071. \def\p@reset@font{\fontfamily{\rmdefault}%
  1072.                   \fontseries{\mediumseriesdefault}%
  1073.                   \fontshape{\normalshapedefault}\selectfont}
  1074. \endinput
  1075. %%
  1076. %% End of file `/usr2/distrib/latex209/nfss/lfonts.new'.
  1077. %%
  1078. %% End of file `plainfsl.tex'
  1079. %%
  1080.